package com.cq.hd.member.service;

import com.cq.hd.common.pagination.Page;
import com.cq.hd.member.api.dto.*;
import com.cq.hd.member.api.vo.*;
import com.cq.hd.member.po.TbMerchantEnterApplyPo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 商户入驻申请记录表 服务类
 * </p>
 *
 * @author mYunYu
 * @since 2023-11-21
 */
public interface TbMerchantEnterApplyService extends IService<TbMerchantEnterApplyPo> {

    Integer getAuditCount(Long businessId);

    Page<AppMerchantEnterApplyPageVo> pageAppMerchantEnterApply(AppMerchantEnterApplyPageDto appMerchantEnterApplyPageDto);

    Page<AdminMerchantEnterApplyPageVo> pageAdminMerchantEnterApply(MerchantEnterApplyPageDto merchantEnterApplyPageDto);

    AppMerchantEnterApplyPageVo details(Long id);

    Boolean audit(MerchantEnterAuditDto merchantEnterAuditDto);

    Boolean apply(MerchantEnterApplyDto merchantEnterApplyDto);

    PreApplyMerchantVo preApply(PreApplyMerchantDto preApplyMerchantDto);

    Boolean repeatApply(MerchantEnterRepeatApplyDto merchantEnterRepeatApplyDto);

    List<MerchantEnterApplyPageVo> listByApplyNoAndHfId(String hfApplyNo, String hfMerchantNo);

    Boolean updateMerchantEnterApplyById(MerchantEnterApplyUpdateDto merchantEnterApplyUpdateDto);

    Boolean enterSuccess(Long id);

    MerchantEnterApplyVo getEnterInfoByOpenid(String openid);

    MerchantEnterApplyVo getSuccessEnterInfoByOpenid(String openid);

}
